// Package order 存放订单相关模型
package order

import (
	"zpay/app/models"
	"zpay/pkg/database"
)

// Order 订单模型
type Order struct {
	models.BaseModel

	OrderNo   string  `json:"order_no,omitempty"`
	OrderName string  `json:"order_name,omitempty"`
	Amount    float64 `json:"amount,omitempty"`
	Qrcode    string  `json:"qrcode,omitempty"`
	Source    string  `json:"source,omitempty"`
	Status    string  `json:"status,omitempty"`
	IsPaid    bool    `json:"is_paid,omitempty"`
	IsDeleted bool    `json:"is_deleted,omitempty"`

	models.CommonTimeStampsField
}

// Create 创建订单
func (orderModel *Order) Create() error {
	result := database.DB.Create(&orderModel)
	return result.Error
}

// Save 保存
func (orderModel *Order) Save() error {
	result := database.DB.Save(&orderModel)
	return result.Error
}

// Updates 使用 Map 更新多个字段
func (orderModel *Order) Updates(data map[string]interface{}) error {
	result := database.DB.Updates(data)
	return result.Error
}
